package com.gome.gop.common;

import java.util.HashMap;
import java.util.Map;
import java.io.Serializable;

/**
 * 查询条件
 * 
 * @author wangwenhui
 *
 */
public class SearchConds implements Serializable{
    /**
	 * 
	 */
	private static final long serialVersionUID = -7816711945422468910L;

	/**
     * 常量，排序列变量的名
     */
    public static final String SSORT = "ssort";

    /**
     * 常量，排序方 升降 变量的名
     */
    public static final String SORDER = "sorder";

    /**
     * 查询记录的开始位
     */
    private int offset;
    
    /**
     *请求的当前页
     */
        
    private int currentPage;

    /**
     * 查询记录的个
     */
    private int limit;

    /**
     * 查询条件
     */
    private Map<String, Object> params = new HashMap<String, Object>();

    /**
     * 清空分页信息.
     */
    public void clearPager() {
        this.offset = -1;
        this.limit = -1;
    }

    /**
     * 判断是否有分页信
     * 
     * @return 是否有分页信
     */
    public boolean hasPager() {
        return this.offset >= 0 && this.limit > 0;
    }

    /**
     * 获取查询记录的开始位
     * 
     * @return 查询记录的开始位
     */
    public int getOffset() {
        return offset;
    }

    /**
     * 设置查询记录的开始位
     * 
     * @param offset
     *            查询记录的开始位
     */
    public void setOffset(int offset) {
        this.offset = offset;
    }

    /**
     * 获取查询记录的个
     * 
     * @return 查询记录的个
     */
    public int getLimit() {
        return limit;
    }

    /**
     * 设置查询记录的个
     * 
     * @param limit
     *            查询记录的个
     */
    public void setLimit(int limit) {
        this.limit = limit;
    }

    /**
     * 获取查询条件
     * 
     * @return 查询条件
     */
    public Map<String, Object> getParams() {
        return params;
    }

    /**
     * 设置查询条件
     * 
     * @param params
     *            查询条件
     */
    public void setParams(Map<String, Object> params) {
        this.params = params;
    }

    /**
     * 推入查询条件
     * 
     * @param key
     *            参数key
     * @param value
     *            设定
     */
    public void put(String key, Object value) {
        this.params.put(key, value);
    }

    /**
     * @return the currentPage
     */
    
    public int getCurrentPage() {
        return currentPage;
    }

    /**
     * @param currentPage the currentPage to set
     */
    
    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }
}
